package com.ruoyi.system.service;

import java.util.List;
import java.util.Map;

import com.ruoyi.system.domain.Dept;
import com.ruoyi.system.domain.DeptTree;
import com.ruoyi.system.tools.BooleanMessage;

/**
 * 单位信息Service接口
 * 
 * @author dy
 * @date 2024-05-27
 */
public interface IDeptService 
{
    /**
     * 查询单位信息
     * 
     * @param deptid 单位信息主键
     * @return 单位信息
     */
    public Dept selectDeptByDeptid(String deptid);

    /**
     * 查询单位信息列表
     * 
     * @param dept 单位信息
     * @return 单位信息集合
     */
    public List<Dept> selectDeptList(Dept dept);

    /**
     * 新增单位信息
     * 
     * @param dept 单位信息
     * @return 结果
     */
    public int insertDept(Dept dept);

    /**
     * 修改单位信息
     * 
     * @param dept 单位信息
     * @return 结果
     */
    public int updateDept(Dept dept);

    /**
     * 批量删除单位信息
     * 
     * @param deptids 需要删除的单位信息主键集合
     * @return 结果
     */
    public int deleteDeptByDeptids(String deptids);

    /**
     * 删除单位信息信息
     * 
     * @param deptid 单位信息主键
     * @return 结果
     */
    public int deleteDeptByDeptid(String deptid);

    /**
    * 自定义查询
    */
    public List<Map<String,Object>> CustomList(Dept dept);

    public Map<String,Object> CustomOne(String deptid);

    List<Map<String, Object>> selectLianxifangshi(String deptid);

    List<DeptTree> selectDeptTreeList();

    List<DeptTree> XiaoxideptTreeList(String deptid,String parentid);

    public String  returnxiaji(String 当前单位,String 提交单位);

    public boolean  returnshangji(String 提交单位,String 审核单位);

    List<DeptTree> TuikuandeptTreeList(String deptid);

    List<Dept> findYiquerenDeptByPiciAndParentId(String parentid,String piciid);

    BooleanMessage checkDeptInfo(Long userId);

    public List<Dept> findSubDept(String DeptId);
}
